package cn.oracle.eshop.wms.service;

import cn.oracle.eshop.order.domain.OrderInfoDTO;
import cn.oracle.eshop.purchase.domain.PurchaseOrderDTO;
import cn.oracle.eshop.wms.domain.ReturnGoodsInputOrderDTO;
import cn.oracle.eshop.wms.domain.SaleDeliveryOrderDTO;

/***
 * wms中心对外提供的接口
 * @author wyh
 * @date 2022/1/10
 * @param
 * @return
*/

public interface wmsFacadeService {
    /**
     * 创建采购入库单
     * @param purchaseOrderDTO 采购入库单DTO
     * @return 处理结果
     */
    Boolean createPurchaseInputOrder(PurchaseOrderDTO purchaseOrderDTO);

    /**
     * 创建销售出库单
     * @param saleDeliveryOrderDTO 销售出库单DTO
     * @return 处理结果
     */
    Boolean createSaleDeliveryOrder(SaleDeliveryOrderDTO saleDeliveryOrderDTO);

    /**
     * 创建退货入库单
     * @param returnGoodsInputOrder 退货入库单DTO
     * @return 处理结果
     */
    Boolean createReturnGoodsInputOrder(ReturnGoodsInputOrderDTO returnGoodsInputOrder);

    /**
     * 通知WMS中心，“提交订单”事件发生了
     * @param orderDTO 订单DTO
     * @return 处理结果
     */
    Boolean informSubmitOrderEvent(OrderInfoDTO orderDTO);

    /**
     * 通知WMS中心，“支付订单”事件发生了
     * @param orderDTO 订单DTO
     * @return 处理结果
     */
    Boolean informPayOrderEvent(OrderInfoDTO orderDTO);

    /**
     * 通知WMS中心，“取消订单”事件发生了
     * @param orderDTO 订单DTO
     * @return 处理结果
     */
    Boolean informCancelOrderEvent(OrderInfoDTO orderDTO);

}
